#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e3+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int n,a[N],ans[N];
void solve()
{
	memset(ans,0,sizeof ans);
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	
	int pos=1;
	for(int i=n;i>=1;i--)
	{
		auto idx=find(a+pos,a+1+n,i);
		//cout<<idx-(a+pos)<<'\n';
		ans[i]=(idx-(a+pos)+1)%i;
		rotate(a+pos,idx,a+1+n);
		pos++;
	}
	for(int i=1;i<=n;i++) cout<<ans[i]<<" ";
	cout<<'\n';
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) solve();
	return 0;
}
//前n-1次操作都影响n的变化
//最终序列的第i个值 只能是第i步由原始位置经过固定的左移操作所得到
//逆操作,把现在的数组变成原数组的,但是rotate是跟原操作相反,所以数组也要相反